1. Field of the Invention
This invention relates generally to network client devices and programs. More particularly, the invention relates to a web browser that provides automated multilevel-search-related functions.
2. Description of the Related Art
The Internet enables companies and individuals to post information using an interconnected set of web pages. A first web page is connected to a second web page using a hyperlink. The HTTP protocol is used to transfer data across the Internet from one machine to another so that when a user clicks on a hyperlink in a web page, the web page referenced by the hyperlink is accessed. The action of a user clicking on a sequence of links to move from one web page to another is known as xe2x80x9csurfing the webxe2x80x9d or xe2x80x9cweb browsing.xe2x80x9d Typically a client software system known as a xe2x80x9cweb browserxe2x80x9d is used to this end. Search engines are provided to help a user find web pages related to a specific topic. Typically a search engine maintains a database of web pages and performs searches based on keywords found in the web pages. In most cases the search engine is implemented within a web server as opposed to a client device.
While web browsers are very useful, prior art web browsers are in many ways limited. For example, most browsers contain a search mechanism known as xe2x80x9cfind in page.xe2x80x9d In the Microsoft Internet Explorer, the xe2x80x9cfind in pagexe2x80x9d feature works by having a use activate the xe2x80x9ceditxe2x80x9d menu and then the xe2x80x9cFind (on this page)xe2x80x9d submenu. Alternatively the user may select CRTL+F in order to activate the xe2x80x9cfind in pagexe2x80x9d menu. When the user selects xe2x80x9cfind in pagexe2x80x9d a dialog box appears. A user is able to enter a word into this dialog box. If the word is in the markup file currently loaded into the web browser, the word will be highlighted to the user.
While the xe2x80x9cfind in pagexe2x80x9d feature found in prior art web browsers is useful it lacks desirable functionality. For example, a current web page loaded into a browser usually includes one or more hyperlinks. If the desired word is on a page pointed to by any of the hyperlinks of the currently loaded page, the xe2x80x9cfind in pagexe2x80x9d feature would turn up a negative result. This forces the user to select each hyperlink and then perform a separate xe2x80x9cfind in pagexe2x80x9d search on each page referenced by the current page. In some cases this can be most distressing to the user, for example when the current page contains very many hyperlinks or has a richly link-nested structure. In such cases the user is forced to spend undue time searching for the desired word. It would be desirable to have a browser or a browser plug-in that would facilitate word and concept searches through multilevel document structures. Such a browser would increase the productivity of network users. It would also be desirable to allow a user to print pages linked to a given base level document or perform other page-specific functions to a nested structure of linked pages without needing to manually access and specify operations for each page.
Another area where a more powerful web browser is needed is caused by poor server systems. For example, when visiting a certain company""s web site user may be presented with a search engine specific to that web site. In some cases these search engines produce a lot of results that are irrelevant. In many cases the keywords requested in the search do not even appear in the returned web pages. For example a user may run a search and receive 450 results, but only three of these are of interest. To process such an output, the user must spend undue time hunting for the three documents of interest among the 450 results. For example these 450 results are displayed 20 per results page. The user then views each results page, clicks on each link that may be of interest, and views the contents thereof. When each page is accessed, the user uses a xe2x80x9cfind-in-pagexe2x80x9d search to determine whether the keyword is actually found in the document and if so, the context of its use. It is also problematic that the user has to select a xe2x80x9cnextxe2x80x9d link to get another page of 20 page titles to view. Sometimes it can take tens of seconds or more to access the next set of titles. It would be desirable to have a web browser with built-in intelligence that could automate the process of wading through irrelevant search results. Other related client-side search acceleration techniques are also needed to allow a user control over searching instead of being limited by the abilities of a distant server""s search facilities.
The present invention overcomes difficulties with prior art web browsers by providing novel searching techniques. Instead of considering a network search engine to be an external server, the web browser of the present invention takes on search engine functionality. While prior art web browsers offer xe2x80x9cfind in pagexe2x80x9d word-search capabilities, the web browser of the present invention allows users to search for words and/or concepts using a multilevel search. In a multilevel search, a user specifies a set of search parameters plus a number of levels to search. In some case the number of levels to search may be set by a default value or may be derived intelligently on-the-fly.
To perform a multilevel search, the web browser usually first checks the current page for the search term. If the term is not found, it goes through the set of hyperlinks and checks each page hyperlinked to the current page. If any of the linked pages contain the desired word or concept, that page is flagged for the user to view. The user can then press a xe2x80x9cfind nextxe2x80x9d button to continue the search. Alternatively all of the results can be logged and loaded up for viewing similar to a search engine results page.
In accordance with an aspect of the present invention, while the user is viewing a first result, the browser can optionally seek out further results in the background. This functionality is useful because documents in the search need to be gathered from diverse network addresses and may incur delays. In accordance with another aspect of the invention the user may select an option that causes some or all of the pages within a linked tree of documents to be printed without the need to view each page and then manually select xe2x80x9cprint page.xe2x80x9d
Other aspects of the present invention allow a user to build a sitemap to characterize and otherwise extract information from a linked structure of web pages. Another aspect of the present invention enables enhanced searching of both single-level and multilevel documents. The xe2x80x9cfind in pagexe2x80x9d search is expanded to allow users to specify combinatorial searches that are applied to document substructures.
The present invention allows a user to take control away from a server. Presently a user is at the mercy of a poor search engine. When a search engine is incorporated into a web site, the user has no option but to select the provided search engine. Even when the user can select search engines, the search engine often provides unrelated results. The present invention puts controls in the hands of the user that automate the processes involved in sifting through results and looking for specific types of documents that may be found on a given web site. The present invention also allows a user to automatically characterize the contents of a web site by building a sitemap or a filtered site map. The processes and structures of the present invention vastly improve user productivity for performing web-related tasks.